package com.intct.hbase.ddl.impl;

import com.intct.hbase.ddl.AbsDDLSerivce;
import org.apache.hadoop.hbase.client.Admin;

import java.io.IOException;
import java.util.Arrays;
import java.util.List;

/**
 * @author gufg
 * @since 2025-09-29 10:02
 */
public class DropNamespaceImpl extends AbsDDLSerivce {

    // 类变量
    private String namespace;

    // 类构造
    public DropNamespaceImpl(String namespace) {
        this.namespace = namespace;
    }

    // 继承实现方法
    @Override
    public void execCommand(Admin admin) {
        try {
            // 判断命名空间名称存，则删除
            List<String> namespaces = Arrays.asList(admin.listNamespaces());

            // 删除表，必须要存；创建表，不存在
            if (namespaces.contains(namespace)) {
                admin.deleteNamespace(namespace);
            }
        } catch (IOException e) {
            //System.out.println("...");
            e.printStackTrace();
        }
    }

    // 入口类
    public static void main(String[] args) throws IOException {
        new DropNamespaceImpl("INTCT85").start();
    }
}
